package cn.stylefeng.guns.modular.business.frequency.orderlogistics.service;

import cn.stylefeng.guns.core.pojo.response.ResponseData;
import cn.stylefeng.guns.modular.business.frequency.orderlogistics.entity.OrderLogistics;
import cn.stylefeng.guns.modular.business.frequency.orderlogistics.model.param.ErrorMsg;
import cn.stylefeng.guns.modular.business.frequency.orderlogistics.model.result.TransportPageVO;
import cn.stylefeng.guns.modular.business.frequency.transport.model.param.TransportDTO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 运单物流信息 服务类
 *
 * @author yujie
 * @date 2023/05/09 17:16
 */
public interface OrderLogisticsService extends IService<OrderLogistics> {

    /**在途列表*/
    ResponseData getLogisticsList(TransportDTO orderDTO);

    /** 在途待跟踪运单列表   在途已跟踪运单列表  */
    Page<TransportPageVO> getWaitLogisticsList(TransportDTO orderDTO);

    boolean checkLogisticsAdd(OrderLogistics orderLogistics, ErrorMsg errorMsg);

    /** 运单物流跟踪 */
    void addLogistics(OrderLogistics orderLogistics);


    /** 运单物流跟踪列表 */
    List<OrderLogistics> getLogisticsListByTransportId(Long transportId);

    void confirmArrived(String levelId);

}